1. Field
The disclosed embodiments relate to techniques for switching between graphics-processing units (GPUs) in a computer system. More specifically, the disclosed embodiments relate to techniques for policy-based switching between GPUs in a computer system.
2. Related Art
Power management is critically important for many electronic devices. For example, portable electronic devices such as laptop computers, mobile phones, and personal digital assistants (PDAs) need to conserve power to operate for any length of time on battery power. At the same time, many of these portable electronic devices are beginning to incorporate high-resolution, high-power graphics technology. Rapid developments in this area have led to significant advances in 2D and 3D graphics technology, providing users with increasingly sophisticated visual experiences in domains ranging from graphical user interfaces to realistic gaming environments. Underlying many of these improvements is the development of dedicated graphics-rendering devices, or graphics-processing units (GPUs). A typical GPU includes a highly parallel structure that efficiently manipulates graphical objects by rapidly performing a series of primitive operations and displaying the resulting images on graphical displays.
Unfortunately, there are costs associated with these increased graphics capabilities. In particular, an increase in graphics performance is typically accompanied by a corresponding increase in power consumption. Consequently, many computer systems and portable electronic devices may devote a significant amount of their power to support high-performance GPUs, which may decrease battery life and cause heat dissipation problems.
One solution to this problem is to save power during low-activity periods by switching from a high-power GPU that provides higher performance to a low-power GPU with lower performance. Computer system designers are beginning to develop hardware structures to support such systems. However, it remains a challenging problem to determine precisely when to switch between low-power and high-power GPUs.
Hence, what is needed is a method and an apparatus that facilitates determining when to switch between GPUs in a system with multiple GPUs.